草庐IT

JavaBeans 比较

全部标签

java - 列表::包含比较器

有什么方法(方法、lambda或优雅的构造)可以根据给定的比较器在列表中查找元素?我写了一个这样的方法:privatestaticbooleancontains(Listlist,Titem,Comparatorcomparator){returnlist.stream().anyMatch(listItem->comparator.compare(listItem,item)==0);}但我希望用更优雅的东西替换它。我不想添加任何依赖项,所以没有Guava、“commons”等。我真的在寻找一种在Java8中执行此操作的漂亮方法。编辑:一些我认为更优雅的例子(这里是使用代码)://s

java - 如何比较 2 个列表并返回最大子集的列表?

我想比较两个ArrayList并返回Java中相似性最大的子集。所以我想比较列表的各个部分,而不仅仅是单个值。例子:list1list2FAABBCCFDDZZAFC最大子集:Arraylist:[A,B,C]第二大子集应该是:ArrayList:[D,Z]我怎样才能有效地做到这一点?(不使用超过2个for循环)retainAll()不起作用,retainAll()返回相等的值,而不是最大的子集。编辑我想要作为输出,最大子集之前的列表,最大子集,最大子集之后的列表。通过这个例子,输出应该是:[[F],[null]],[A,B,C],[[D,Z,A,F,C],[F,D,Z]]

java - 比较 java 8 中没有纳秒的 LocalDateTime

我想在不考虑纳秒的情况下比较2个LocalDateTime对象。这就是我目前正在做的。有更好的方法吗?LocalDateTimeobject1=LocalDateTime.of(2014,3,30,12,30,23,12000);LocalDateTimeobject2=LocalDateTime.of(2014,3,30,12,30,23,12004);System.out.println(object1.isEqual(object2));//falseLocalDateTimeobjec1tWithoutNano=object1.minusNanos(object1.getNan

java - 如何使用反射比较类?

我正在尝试使用反射来确定一个类的类类型,然后做一些具体的事情。例如,如果类是double型,则使用double型特定方法。我正在尝试使用if(f.getClass()==Double.class)但是,我遇到编译器错误:“不兼容的操作数类型Class和Class”执行此操作的正确方法是什么?编辑:更清楚f是Field类型。循环反射得到(Fieldf:instance.getDeclaredFields()) 最佳答案 有趣的错误消息(我不知道'=='运算符会检查那些)。但基于它,我怀疑你的比较是错误的:你试图查看Field类(理论上

java - 如何创建一个带有新比较器且没有指定初始容量的 PriorityQueue?

在Java中,我不知道如何使用新的比较器创建一个新的PriorityQueue但没有给定队列长度?如何创建它?我知道我可以写:QueuetheQueue=newPriorityQueue(15,newComparator();但我希望队列能像LinkedList那样工作,我的意思是它的长度不是固定的,我该如何声明呢? 最佳答案 现代答案,截至2021年:https://stackoverflow.com/a/30015986/139010Java-8之前的答案,供后人引用:没有这样的构造函数。根据JavaDocs,thedefaul

java - 如何链接和应用一系列比较器?

我有一个未分类项目流和一个比较器流。我想通过使用“thenComparing”(Multisort)将所有比较器应用到流中是否有比以下代码更优雅的方法来实现此目的?Streamunsorted=...;Streamcomparators=...;ComparatorcompareFunc=comparators.reduce(null,(a,b)->{if(a==null){returnb;}else{returna.thenComparing(b);}});Streamresult=unsorted.sorted(compareFunc); 最佳答案

java - 什么是普通 JavaBeans 和普通 Java 类?

此上下文普通JavaBeans和普通Java类的技术含义是什么??。 最佳答案 “普通”bean/类是指通常具有以下属性的非常基本的类;不扩展或实现任何东西有私有(private)类变量有一个空的构造函数有标准的getter/setter方法这也称为POJO(普通旧Java对象)。例如;publicclassMyPojo{/**Privateclassvariables*/privateStringname;privateintsize;/***Emptyconstructor*/publicMyPojo(){}/**Standar

java - 如何比较大文本文件?

我有一个关于您对我的“技术”的看法的一般性问题。有2个文本文件(file_1和file_2)需要相互比较。两者都非常庞大(3-4GB,每行30,000,000到45,000,000行)。我的想法是将file_1的几行(尽可能多)读入内存,然后将它们与file_2的所有行进行比较。如果匹配,则两个文件中匹配的行应写入新文件。然后继续file_1的下1000行,并将它们与file_2的所有行进行比较,直到我完成file_1完全。但这对我来说听起来确实非常非常耗时且复杂。您能想出任何其他方法来比较这两个文件吗?您认为比较需要多长时间?对于我的程序,时间并不重要。我没有处理如此大文件的经验,因

java - 用于 Web 服务开发的 Sun Metro 和 Apache CXF 之间的比较?

SunMetro和ApacheCXF在Java网络服务开发方面的相对优势和劣势是什么?是否还有其他我应该关注的框架? 最佳答案 Metro和CXF都是JAX-WS兼容的Web服务堆栈,从运行时的角度来看,它们之间几乎没有区别。但是,如果您愿意超越JAX-WS规范,CXF拥有大大更好的文档,以及更多的灵active和附加功能。仅根据文档,我每次都会选择CXF而不是Metro。但是,我会选择SpringWebServices通过Metro或CXF。它不符合JAX-WS,但我认为这不是问题。它也比它们中的任何一个都简单得​​多,而且灵活得

java - 是否可以检测不兼容类型与 Java 类型系统的比较?

我正在尝试编写一个辅助函数来以类型安全的方式比较两种类型:typesafeEquals("abc",newInteger(42));//shouldnotcompile我的第一次直接尝试失败了:booleantypesafeEquals(Tx,Ty){//doesnotwork!returnx.equals(y);}嗯,问题是T可以推断为一个Object。现在,我想知道是否不可能在Java类型系统中实现typesafeEquals。我知道有像FindBugsfind这样的工具可以警告不兼容类型的比较。无论如何,看到没有外部工具的解决方案或解释为什么它不可能会很有趣。更新:我认为答案是不